10.4 Service Pack 3 resolved issues

This section lists significant issues that have been addressed in IEE 10.4 Service Pack 3.

Event Codes

3583621: (SR# NA) The customer was passing an undefined event code value as DirectContractDSAdd, which caused an error.

Resolution: To resolve this issue, the existing four codes for PUB-039 were removed and two new codes were added for PUB-039 (same as IF- 038 codes).

Aggregation

3512732: (SR# NA) Customer observed the DailyReadingSummary ETL procedure was taking too long to run.

Resolution: Instead of joining t$_DailyReadingSummaryTodo GTT with the reading table, the maximum and minimum node IDs were being filtered causing more data than expected to load in the T$_READING_DRS table. To resolve this issue, the procedure has been modified to load only the required data into GTT.

AMI Billing Export (ABE)

3478199: (SR# NA) When a holiday was added or removed from an existing holiday list, the backend tables was not updated.

Resolution: When a holiday change occurred, the UI was not updating the BillDetMap table, which caused the ABE to be incorrect. The code was enhanced to resolve this issue.

3525176: (SR# 01510068) ABE task was failing with the error - unexpected exception occurred cannot release application lock.

Resolution: The occurred because the procedure "hvbeentity_purge" can enter the CATCH block after the lock has already been released in the main loop, but before the next lock acquisition. In this case, @ABELockRet is not always set to 0 immediately after releasing the lock, so if an error occurs after the release, the CATCH block will try to release the lock again, causing the error "Cannot release application lock." To resolve this issue, the procedure was modified to release the application lock only if it exists.

AMI Reading Import (ARI)

3222447: (SR# 01365845) Customer received a unique constraint (IXU_VALLOG_SPCENDRGAKVS ) error from clean reading file.

Resolution: To resolve this issue, the HVRI package was fixed so it could handle the unique constraint error from clean reading files.

3578450: (SR# 01536073) ARI imports were ending with deadlocks.

Resolution: This occurred due to multiple threads concurrently attempting to acquire locks on non-partitioned tables: ValidationLog, ValidationLogDetail, and ValidationQueueUpdateToDo. To resolve this issue, records are inserted in batches of 1000 instead of bulk insert to avoid long lock duration and added WITH(ROWLOCK) hint to avoid page/table level lock escalation.

Audit Log

3568702: (SR# NA) Audit Log ID column showed too much information.

Resolution: To resolve this issue, the output was reduced in the Audit Log UI to only display root entities and not channels.

Configuration

3582029: (SR# 01533742) The Configuration Import task was stuck in a running status for an undefined number of hours, fetching all entities and links.

Resolution: This occurred because the customer was using a custom SAP adapter to send program-based configuration (PCB) payloads. Other customers have used a similar customization in SAP to do this. But this customer appears to have an issue with certain premise payloads; when premise does not exist in SAP, it still sends payloads with an empty premise tag, which causes long running fetches as it will call Premise_get with no parameters, meaning the payload fetches every premise in the system.

To resolve this issue, logic was added to check if the PBC update element has an empty string as the ID. In this case we cannot process it as we need a valid ID to properly fetch or create an entity. This check is done before any database fetching so the task will fail without executing a long-running fetch.

3595278: (SR# NA) The “IP Addressed” checkbox value was always true even when passing a false value from the configuration.

Resolution: This issue occurred when the Import Configuration file with IP Address Attribute value false. There are two properties with the same name but with a different type: one is bool and the other is string. When importing the Import Configuration file, one property was assigned from the Configuration file, but the other one was always set true. To resolve this issue, the logic was changed.

Configuration Import

3522767: (SR# NA) Unable to perform configuration change for retail settlement points with large number of enrollments.

Resolution: Retail settlement points with large enrollments are loading all the configurations related to enrollments, which is causing the issue. To resolve this issue, the logic was changed to load only enrollments and skip loading other configurations that are not required to be updated.

Customer Service Representatives (CSR)

3404559: (SR# 01385249) The customer was unable to do a Demand Reset in CSR portal.

Resolution: This occurred when a customer enabled the Move-in and Move-out options, dependent on the Remote Connect Flag of the meter, and the program did not have the capacity to connect remotely. To resolve this issue, the ability to enable the Move-in and Move-out options are now dependent on permissions.

Estimation

3565174: (SR# NA) The DDL was not running concurrently with other DDLs while importing the estimation tasks in parallel sometimes resulting in an error.

Resolution: During GTT cleanup when using a DDL statement (truncate), multiple threads were trying to execute the DDL statement on the same database object, which resulted in an error. To resolve this issue, a re-try logic was added on the truncate, and if that also fails, then it falls back to deleting.

ICAP

3589113/3597994: (SR# NA) Customer observed high disk usage during ICAP tag calculation.

Resolution: The RetailSvcPtsByStlmntDta_Get procedure constructs and executes a dynamic SQL query. Due to the use of dynamic SQL, the use of temporary tables within the procedure is unavoidable. However, certain optimizations are possible, such as rewriting specific statements to minimize resource consumption and creating indexes to address high disk usage. The new version replaces a custom string-splitting function (dbo. fn_NTextValueTable) with SQL Server’s built-in STRING_SPLIT and REPLACE, simplifying how input lists are handled.

  • Temporary tables for filters are now created only if needed and are explicitly dropped at the end to free resources.

  • The EXISTS subqueries now use select 1 instead of select * for efficiency.

  • The join logic for merging zone/customer class versions was streamlined.

  • General code cleanup and improved null/empty checks were added.

  • Created a new index on IX_FCRS_EffStartDt_EffEndDt on FlatConfigRetailSettlement table.

3619146: (SR# NA) User experienced an incorrect time in the market peak hour.

Resolution: To resolve this issue, IEE now uses the time zone selected in the time zone dropdown menu on the Parameters tab as context for the date pickers.

3621385: (SR# NA) ICAP calculation task template did not apply factors correctly.

Resolution: To resolve this issue, the operation key for the camel case was fixed.

3640960: (SR# NA) ICAP calculation was not considering reads with a missing or gap status when there was a positive value.

Resolution: To resolve this issue, the logic was changed to consider readings with a missing and gap status that has a positive value.

Import Data Manager (IDM)

3139117: (SR# 01240411) Customer encountered Defect 2820 - IEE 10.3: ORA-06512: at "ITRONEE.FILEINVENTORYANDSEGMENT_SAVE" in the IDM logs.

Resolution: The same file name occurred due to the same method being called by multiple threads and generating the same file name. The date format appended to the file name now includes a random 3-digit number replacing the last three milliseconds. This change ensures that two threads do not generate the same file name if the same file is picked by two threads.

Interactive Graphing

3582323/3531330: (SR# 01513634) There was a MaxDegreeOfParallelism error in the development system for Interactive graphing.

Resolution: This occurred in the reading fetch and configuration export/request code. In systems with less than four processors, the formula for determining the ParallelOptions.MaxDegreeOfParallelism property returns a zero value, which is invalid. The code has been modified to never return a zero in systems with less than four processors.

Interval Data

3577375: (SR# 01526493) Customer received a warning message in the Missing Interval Data report for an interval length changed meter.

Resolution: This occurred while checking the data availability we passed EOT to BOT as the filter parameter. To resolve this issue, the code was modified to pass the report data as the filter parameter.

3607846: (SR# NA) IEE was incorrectly restoring the entire reading group.

Resolution: This occurred when single or multiple reading groups were selected, the entire original reading group was created instead of the specified time span reading group. To resolve this issue, the C# code was enhanced to restore only the specified period reading group.

Market Transactions

3552731: (SR# NA) An unhandled exception occurred when closing IEE client.

Resolution: When closing the edit interval data tab in the UI application a null object was throwing an exception. To resolve this issue, the dll file name was changed to "itron.ee.presentation.win.editing" and the C# code was enhanced.

Meter Swap

3601655: (SR# NA) Meter Swap operation failed for some cases due to Primary Key violation errors.

Resolution: Primary Key violation exceptions were occurring because the system was trying to save the meter again under the CTP updates for meter channels. To resolve this issue, CTP was modified to update the implementation, so that it will just update the meter channels if there are any CTP updates required instead of updating the entire meter records.

MV-90

3593584: (SR# NA) The Daisy Chain functionality was not working when the RI was triggered for a specific slave.

Resolution: The SubmitManualInterrogationsToXi() method was incorrectly using the AutomatedRemoteInterrogationAdapter, which is intended for automated interrogations. As a result, it was fetching all slave devices under the master and submitting the tasks to Xi, even when the user selected only specific slaves in the user interface. This logic mismatch has led to unintended behavior during manual remote interrogations. To resolve this issue, the SubmitManualInterrogationsToXi() method was updated to use ManualRemoteInterrogationAdapter instead of AutomatedRemoteInterrogationAdapter, ensuring that the logic will correctly align with user-selected inputs during the manual interrogations.

MV-RS

3607071: (SR# 01551136) MV-RS billing was not working.

Resolution: This occurred because one of the properties from the ReadingBase class was moved to the RegisterReading class and the dependent project Itron.EE.Facade.ImportExport.Adapter.CSI.dll was not included in the service pack release. Additionally, there was a bug causing the MV-RS adapter to fail to populate the SPCNodeId, which is essential for fetching readings. To resolve this issue, a dependent dll (Itron.EE.Facade.ImportExport.Adapter.CSI.dll) was added.

Readings

3600301: (SR# NA) Reading XML export was not recognizing macros in the template.

Resolution: While generating the unique file name while exporting the reading, macros were not considered. To resolve this issue, the code was modified to consider the macros while generating the file name.

SAP

3606892: (SR# 01551118) An exception occurred when processing an SAP bulk request.

Resolution: This occurred when passing username and/or password as null or empty. To resolve this issue, the logic was changed to check the condition of empty values being passed for username and/or password.

Settlements

3605936: (SR# NA) When an enrollment ended with same day as an existing enrollment, it could not be found, but the dates still showed as active.

Resolution: When a settlement enrollment configuration update file has only an end date (without a start date), then it was taking the default start date instead of the existing start date from the configuration. To resolve this issue, the configuration file now uses the existing start date from the configuration.

Universal Calculation Engine (UCE)

3483362: (SR# NA) IEE was not handling submissions correctly.

Resolution: When submitting monthly data, one interval was not correctly submitted every couple of days. When there was a critical change and with the batch processing, the first interval value was set to 0. To resolve this issue, the logic was changed to consider only the active version of the service point channel while fetching readings in batches.